package com.siwei.mes.service.experiment;

import com.github.pagehelper.PageInfo;
import com.siwei.mes.common.query.PageQuery;
import com.siwei.mes.entity.experiment.ExperimentSupplyTask;
import com.siwei.mes.entity.sync.tc.SupplyTask;

import java.util.List;

/**
 * 试验台账与供货任务关系(ExperimentSupplyTask)表服务接口
 *
 * @author makejava
 * @since 2024-05-28 23:00:03
 */
public interface ExperimentSupplyTaskService {

    /**
     * 新增
     *
     * @param entity
     * @return
     */
    Long create(ExperimentSupplyTask entity);

    /**
     * 修改
     *
     * @param entity
     */
    void update(ExperimentSupplyTask entity);

    /**
     * 删除
     *
     * @param id
     */
    void delete(Long id);

    /**
     * 获取所有分组  分页
     *
     * @param query
     * @return
     */
    PageInfo<ExperimentSupplyTask> getPage(PageQuery<ExperimentSupplyTask, ExperimentSupplyTask> query);

    /**
     * 根据id查询
     *
     * @param id
     * @return
     */
    ExperimentSupplyTask loadById(Long id);

    /**
     * 获取所有
     *
     * @param entity
     * @return
     */
    List<ExperimentSupplyTask> getAll(ExperimentSupplyTask entity);

    /**
     * 根据试验台账id获取供货任务单信息
     *
     * @param experimentId
     * @return
     */
    List<SupplyTask> selectByExperimentId(Long experimentId);

    /**
     * 根据试验台账id和任务单号 删除对应关联关系
     *
     * @param experimentId 试验委托id
     * @param supplyTaskId 任务id
     */
    void deleteByExperimentIdAndSupplyTaskId(Long experimentId, Long supplyTaskId);
}
